import vue from "@vitejs/plugin-vue";
import viteCompression from 'vite-plugin-compression';

export default {
	plugins: [
		vue(),
		viteCompression({
			threshold: 102400 // 对大于 10kb 的文件进行压缩
		})
	],

	resolve: {
		alias: {
			'@': '/src'
		}
	},

	build: {
		target: 'es2015',
		cssCodeSplit: true, // 是否将CSS拆分为更小的块并独立加载
		sourcemap: false, // 是否生成sourcemap文件

		rollupOptions: {
			input: 'index.html',
			output: {
				// 静态资源打包做处理
				chunkFileNames: 'statics/js/[name]-[hash].js',
				entryFileNames: 'statics/js/[name]-[hash].js',
				assetFileNames: 'statics/[ext]/[name]-[hash].[ext]',
				manualChunks(id) {
					if (id.includes('node_modules')) {
						return id.toString().split('node_modules/')[1].split('/')[0].toString();
					}
				},
			},
		}
	},

	server: {
		host: "0.0.0.0",
		port: 3100
	},
};
